# # md5 加密
# import hashlib
#
# # 创建一个 md5加密工具
# m = hashlib.md5()
# m.update("python".encode(encoding='utf-8'))
# res = m.hexdigest()
# print(res)

# # 随机模块
# import random
#
# Y = random.randint(1, 100)
# print(Y)
# # 随机选择 list\tupie\str
# a = ['python', 'java', 'html5', 'C++']
# res = random.choice(a)
# print(res)


# 命名规范，字母、数字、_组成，不能以数字开头
# 函数即变量
# 函数，将写好的代码存起来方便后续反复使用
# 变量存的是数据，函数存的是代码
# def 函数名称():
#     存储的代码
# 创建函数，只是将你的代码存在了函数名称中，并不会执行
# def myfunc():
#     print('hello')
#     print('python')
#     print('哎哟')

# 函数只有被调用才能被执行，调用函数的方式  函数名+()
# myfunc()


# 一个函数是否需要参数，就是在创建的时候决定的
# a,b 两个参数，形参  形式上的参数
# def he(a, b):  # 创建一个he函数,实现两个数相加
#     x = a + b
#     print(f'{a}+{b}={x}')
#
# # 实参  实际的参数
# he(a=10, b=20) # 有参数的函数，如何调用
# he(77,88)  # 按照顺序传递，可以不写参数名

# 函数的返回值 return
# 函数完成之后，返回给调用者的一个结果
# 方便后续针对该结果进行下一步处理
# return 返回内容
# def hehe(a, b):
#     c = a + b
#     # 函数完成之后，返回c给调用者
#     return c  # return 表示返回，后续函数中的代码都不会被执行


# 在调用函数的时候，使用变量接收返回
# x = hehe(a=6, b=6)
# print(x)

# 顶格定义的变量是全局变量，所有地方都可以使用
# name = '赵云'
# def demo():
#     # 在函数中，定义的变量只在函数中生效
#     # 局部变量
#     name = '诸葛亮'
# demo()
# print(name)

# 函数的默认值
# 默认值参数 1、必须在最后，2、直接赋值
# def info(name,age,nation):
#     print(f'姓名:{name}')
#     print(f'年龄:{age}')
#     print(f'民族:{nation}')
# info(name='迪奥',age=18,nation='诺克萨斯人')

# 导入 calc 模块
# import calc
# def x(a, b):
#     print(a + b)
# def y(a, b):
#     print(a - b)
#
# calc.x(7, 13)
# calc.y(22, 7)

# 安装
# python -m pip install 模块名称   / python -m pip install 模块名称==版本号
# python -m pip list  查看已安装模块
# python -m pip uninstall 模块名称
#
# import pymysql
# pymysql.connect
